package net.bioclipse.vscreen.ui.wizards;
import net.bioclipse.core.util.StringInput;
import net.bioclipse.core.util.StringStorage;
import org.eclipse.core.resources.IStorage;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PartInitException;
/**
* Creates a new JS file with VScreen content
*
* @author ola
*/
public class NewVscreenWizard extends Wizard implements INewWizard {
public static final String WIZARD_ID =
"net.bioclipse.vscreen.ui.wizards.NewVscreenWizard";
public static String newline = System.getProperty("line.separator");
private static final String FILE_CONTENT =
"// VScreen file" + newline +
"var DB = \"myDB\"; //Refer to an existing StructureDB database" +
newline +
"//Create some filters"+ newline +
"filters=java.util.ArrayList();"+ newline +
"filters.add(vscreen.createFilter(\"XlogP\" , \"<\" , 3));"+ newline +
newline +
"//Creen DB and place results in new DB instance"+ newline +
"vscreen.filter(DB,filters,\"filteredDB\",\"filtered\");";
private IWorkbenchWindow activeWindow;
/**
* Creates a wizard for creating a new file resource in the workspace.
*/
public NewVscreenWizard() {
super();
}
public void addPages() {
}
public boolean canFinish() {
return true;
}
public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
setWindowTitle("New VScreen file");
setNeedsProgressMonitor(true);
activeWindow = workbench.getActiveWorkbenchWindow();
}
public boolean performFinish() {
//Open editor with content (String) as content
IEditorInput input = createEditorInput();
IWorkbenchPage page = activeWindow.getActivePage();
try {
page.openEditor(input, "net.bioclipse.jseditor.editor");
} catch (PartInitException e) {
e.printStackTrace();
}
return true;
}
private IEditorInput createEditorInput() {
IStorage storage = new StringStorage(FILE_CONTENT);
IEditorInput input = new StringInput(storage);
return input;
}
}